package com.yxinsur.imc.business.form;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 保单险种详情对象 imc_order_risk
 *
 * @author imc
 * @date 2021-03-18
 */
@Data
@ToString
public class OrderRiskInputForm extends OrderRiskForm {
    private static final long serialVersionUID = 1L;

    private Long copyId;

    /**
     * 主附险标识
     */
    @ApiModelProperty("险种名称")
    private String riskName;

    /**
     * 险种代码
     */
    private String insCode;

    /**
     * 主附险标识
     */
    @ApiModelProperty("保单年度")
    private Long policyYear;

    /**
     * 缴费次数
     */
    @ApiModelProperty("缴费次数")
    private Long payNum;
    /**
     * 应缴日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("应缴日期")
    private Date payableDate;

    /**
     * 实缴日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("实缴日期")
    private Date paymentDate;

    /**
     * 承保日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("承保日期")
    private Date insureDate;

    /**
     * 保单生效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("保单生效日期")
    private Date effectiveDate;

    /**
     * 折标率
     */
    @ApiModelProperty("折标率")
    private BigDecimal standRate;

    /**
     * 代理人佣金率
     */
    @ApiModelProperty("代理人佣金率")
    private BigDecimal commissionRate;

    @ApiModelProperty("供应商折标率")
    private BigDecimal supplierStandRate;

    @ApiModelProperty("年期折算系数")
    private BigDecimal yearScale;

    /**
     * 险种保费-首年/首次
     */
    @ApiModelProperty("保费")
    private BigDecimal prem;

    @ApiModelProperty("投保份数")
    private Integer unit;

    /**
     * 应缴保费
     */
    @ApiModelProperty("应缴保费")
    private BigDecimal payablePrem;

    @ApiModelProperty("保单主表id")
    private Long orderId;
}
